﻿
/**
 * nPnP - neither Perl not PHP
 *
 * Copyright (C) 2009 Christian Moeller
 *
 * This program is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU General Public License as published by the 
 * Free Software Foundation; either version 3 of the License, or (at your option) 
 * any later version.
 * 
 * This program is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. 
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program; 
 * if not, see <http://www.gnu.org/licenses/>.
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FParser.Parser.Expressions
{
    [Serializable]
    public class IfExpression : Expression
    {
        public IfExpression() {
            this.type = EnumExpressionType.IF;
            this.expressions = new List<BooleanExpression>();
            this.content = new List<Expression>();
            this.opList = new List<EnumBooleanOperator>();
            this.elseContent = new List<Expression>();
        }

        private List<BooleanExpression> expressions;
        public List<BooleanExpression> Expressions
        {
            get { return this.expressions; }
            set { this.expressions = value; }
        }

        private List<Expression> content;
        public List<Expression> Content
        {
            get { return this.content; }
            set { this.content = value; }
        }

        private bool hasElse;
        public bool HasElse
        {
            get { return this.hasElse; }
            set { this.hasElse = value; }
        }

        private List<Expression> elseContent;
        public List<Expression> ElseContent
        {
            get { return this.elseContent; }
            set { this.elseContent = value; }
        }

        private List<EnumBooleanOperator> opList;
        public List<EnumBooleanOperator> OpList
        {
            get { return this.opList; }
            set { this.opList = value; }
        }
    }
}
